/** * Plugin Name: Elementor * Description: The Elementor Website Builder has it all: drag and drop page builder, pixel perfect design, mobile responsive editing, and more. Get started now! * Plugin URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash * Author: Elementor.com * Version: 3.14.1 * Author URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash * * Text Domain: elementor * * @package Elementor * @category Core * * Elementor is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * Elementor is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ELEMENTOR_VERSION', '3.14.1' ); define( 'ELEMENTOR__FILE__', __FILE__ ); define( 'ELEMENTOR_PLUGIN_BASE', plugin_basename( ELEMENTOR__FILE__ ) ); define( 'ELEMENTOR_PATH', plugin_dir_path( ELEMENTOR__FILE__ ) ); if ( defined( 'ELEMENTOR_TESTS' ) && ELEMENTOR_TESTS ) { define( 'ELEMENTOR_URL', 'file://' . ELEMENTOR_PATH ); } else { define( 'ELEMENTOR_URL', plugins_url( '/', ELEMENTOR__FILE__ ) ); } define( 'ELEMENTOR_MODULES_PATH', plugin_dir_path( ELEMENTOR__FILE__ ) . '/modules' ); define( 'ELEMENTOR_ASSETS_PATH', ELEMENTOR_PATH . 'assets/' ); define( 'ELEMENTOR_ASSETS_URL', ELEMENTOR_URL . 'assets/' ); add_action( 'plugins_loaded', 'elementor_load_plugin_textdomain' ); if ( ! version_compare( PHP_VERSION, '7.0', '>=' ) ) { add_action( 'admin_notices', 'elementor_fail_php_version' ); } elseif ( ! version_compare( get_bloginfo( 'version' ), '5.9', '>=' ) ) { add_action( 'admin_notices', 'elementor_fail_wp_version' ); } else { require ELEMENTOR_PATH . 'includes/plugin.php'; } /** * Load Elementor textdomain. * * Load gettext translate for Elementor text domain. * * @since 1.0.0 * * @return void */ function elementor_load_plugin_textdomain() { load_plugin_textdomain( 'elementor' ); } /** * Elementor admin notice for minimum PHP version. * * Warning when the site doesn't have the minimum required PHP version. * * @since 1.0.0 * * @return void */ function elementor_fail_php_version() { $message = sprintf( /* translators: 1: `

` opening tag, 2: `

` closing tag, 3: PHP version. 4: Link opening tag, 5: Link closing tag. */ esc_html__( '%1$sElementor isn’t running because PHP is outdated.%2$s Update to PHP version %3$s and get back to creating! %4$sShow me how%5$s', 'elementor' ), '

', '

', '7.0', '', '' ); $html_message = sprintf( '
%s
', wpautop( $message ) ); echo wp_kses_post( $html_message ); } /** * Elementor admin notice for minimum WordPress version. * * Warning when the site doesn't have the minimum required WordPress version. * * @since 1.5.0 * * @return void */ function elementor_fail_wp_version() { $message = sprintf( /* translators: 1: `

` opening tag, 2: `

` closing tag, 3: WP version. 4: Link opening tag, 5: Link closing tag. */ esc_html__( '%1$sElementor isn’t running because WordPress is outdated.%2$s Update to version %3$s and get back to creating! %4$sShow me how%5$s', 'elementor' ), '

', '

', '5.9', '', '' ); $html_message = sprintf( '
%s
', wpautop( $message ) ); echo wp_kses_post( $html_message ); } /** * PA Elements. */ use PremiumAddons\Includes\Helper_Functions; $prefix = Helper_Functions::get_prefix(); $elements = array( 'cat-1' => array( 'icon' => 'all', 'title' => __( 'All Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-notifications', 'name' => 'premium-notifications', 'title' => __( 'Recent Posts Notification', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-tcloud', 'name' => 'premium-tcloud', 'title' => __( 'Tags Cloud', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-site-logo', 'name' => 'premium-site-logo', 'title' => __( 'Site Logo', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-site-logo-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-site-logo-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-site-logo', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-site-logo-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-lottie-widget', 'name' => 'premium-lottie', 'title' => __( 'Lottie Animations', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-lottie-animations-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/lottie-animations-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=0QWzUpF57dw', ), array( 'key' => 'premium-carousel', 'name' => 'premium-carousel-widget', 'title' => __( 'Carousel', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/carousel-widget-for-elementor-page-builder', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/carousel/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=ZMgprLKvq24', ), array( 'key' => 'premium-blog', 'name' => 'premium-addon-blog', 'title' => __( 'Blog', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/blog-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/blog/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-smart-post-listing', 'name' => 'premium-smart-post-listing', 'title' => __( 'Smart Post Listing', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-smart-post-listing-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-nav-menu', 'name' => 'premium-nav-menu', 'title' => __( 'Nav/Mega Menu', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-mega-menu-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-mega-menu-widget-tutorial', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-maps', 'name' => 'premium-addon-maps', 'title' => __( 'Google Maps', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-maps/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=z4taEeCY77Q', ), array( 'key' => 'premium-person', 'name' => 'premium-addon-person', 'title' => __( 'Team Members', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/persons-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/persons-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-svg-drawer', 'name' => 'premium-svg-drawer', 'title' => __( 'SVG Draw', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-tabs', 'name' => 'premium-addon-tabs', 'title' => __( 'Tabs', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tabs-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/tabs-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-tabs', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tabs-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-content-toggle', 'name' => 'premium-addon-content-toggle', 'title' => __( 'Content Switcher', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-content-switcher/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-content-switcher', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-fancytext', 'name' => 'premium-addon-fancy-text', 'title' => __( 'Fancy Text', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/fancy-text-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-title', 'name' => 'premium-addon-title', 'title' => __( 'Heading', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/heading-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-dual-header', 'name' => 'premium-addon-dual-header', 'title' => __( 'Dual Heading', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/dual-heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-divider', 'name' => 'premium-divider', 'title' => __( 'Divider', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/divider-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-separator', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-grid', 'name' => 'premium-img-gallery', 'title' => __( 'Media Grid', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/grid-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/grid/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-image-scroll', 'name' => 'premium-image-scroll', 'title' => __( 'Image Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-image-separator', 'name' => 'premium-addon-image-separator', 'title' => __( 'Image Separator', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-separator-widget-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-separator-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-image-comparison', 'name' => 'premium-addon-image-comparison', 'title' => __( 'Image Comparison', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-image-comparison-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-image-comparison', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-image-hotspots', 'name' => 'premium-addon-image-hotspots', 'title' => __( 'Image Hotspots', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-hotspots-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-hot-spot', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-img-layers', 'name' => 'premium-img-layers-addon', 'title' => __( 'Image Layers', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-layers/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=D3INxWw_jKI', 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-image-layers', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-image-accordion', 'name' => 'premium-image-accordion', 'title' => __( 'Image Accordion', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-accordion-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-accordion-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-image-accordion', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-accordion-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-videobox', 'name' => 'premium-addon-video-box', 'title' => __( 'Video Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/video-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/video-box/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-hscroll', 'name' => 'premium-hscroll', 'title' => __( 'Horizontal Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/horizontal-scroll/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=4HqT_3s-ZXg', 'is_pro' => true, 'icon' => 'pa-pro-horizontal-scroll', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-vscroll', 'name' => 'premium-vscroll', 'title' => __( 'Vertical Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/vertical-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/vertical-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=MuLaIn1QXfQ', ), array( 'key' => 'premium-color-transition', 'name' => 'premium-color-transition', 'title' => __( 'Background Transition', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-background-transition-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/background-transition-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-color-transition', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-background-transition-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-multi-scroll', 'name' => 'premium-multi-scroll', 'title' => __( 'Multi Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/multi-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=IzYnD6oDYXw', 'is_pro' => true, 'icon' => 'pa-pro-multi-scroll', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-lottie', 'title' => __( 'Lottie Animations', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-lottie-animations-section-addon/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/lottie-background/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=KVrenWNEdkY', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-parallax', 'title' => __( 'Parallax', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/parallax-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/parallax-section-addon-tutorial-2/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=hkMNjxLoZ2w', 'is_pro' => true, 'draw_svg' => true, 'is_global' => true, ), array( 'key' => 'premium-particles', 'title' => __( 'Particles', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/particles/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=bPmWKv4VWrI', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-gradient', 'title' => __( 'Animated Gradient', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/animated-section-gradients-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/animated-gradient-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=IL4USvwR6K4', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-kenburns', 'title' => __( 'Animated Ken Burns', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ken-burns-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/ken-burns-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=DUNFjWphZfs', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-blob', 'title' => __( 'Blob Generator', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-animated-blob-generator/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-modalbox', 'name' => 'premium-addon-modal-box', 'title' => __( 'Modal Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/modal-box/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=3lLxSyf2nyk', 'draw_svg' => true, ), array( 'key' => 'premium-notbar', 'name' => 'premium-notbar', 'title' => __( 'Alert Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/alert-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-notification-bar', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-magic-section', 'name' => 'premium-addon-magic-section', 'title' => __( 'Magic Section', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/magic-section-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-magic-section', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-prev-img', 'name' => 'premium-addon-preview-image', 'title' => __( 'Preview Window', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/preview-window-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=EmptjFjrc4E', 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-preview-window', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-testimonials', 'name' => 'premium-addon-testimonials', 'title' => __( 'Testimonials', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/testimonials-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-facebook-reviews', 'name' => 'premium-facebook-reviews', 'title' => __( 'Facebook Reviews', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-reviews/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=zl-OFo3IFd8', 'is_pro' => true, 'icon' => 'pa-pro-facebook-reviews', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-google-reviews', 'name' => 'premium-google-reviews', 'title' => __( 'Google Reviews', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-reviews/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=Z0EeGyD34Zk', 'is_pro' => true, 'icon' => 'pa-pro-google-reviews', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-yelp-reviews', 'name' => 'premium-yelp-reviews', 'title' => __( 'Yelp Reviews', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-yelp-reviews-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/yelp-reviews/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=5T-MveVFvns', 'is_pro' => true, 'icon' => 'pa-pro-yelp-reviews', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-yelp-reviews-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-countdown', 'name' => 'premium-countdown-timer', 'title' => __( 'Countdown', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/countdown-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/countdown-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-banner', 'name' => 'premium-addon-banner', 'title' => __( 'Banner', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/banner-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-banner-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-button', 'name' => 'premium-addon-button', 'title' => __( 'Button', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/button/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=w4NuCUkCIV4', 'draw_svg' => true, ), array( 'key' => 'premium-image-button', 'name' => 'premium-addon-image-button', 'title' => __( 'Image Button', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-button/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-flipbox', 'name' => 'premium-addon-flip-box', 'title' => __( '3D Hover Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/3d-hover-box-flip-box-widget-for-elementor/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/flip-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-flip-box', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/3d-hover-box-flip-box-widget-for-elementor/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-iconbox', 'name' => 'premium-addon-icon-box', 'title' => __( 'Icon Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/icon-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-icon-box', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-ihover', 'name' => 'premium-ihover', 'title' => __( 'iHover', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-ihover-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-ihover', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-unfold', 'name' => 'premium-unfold-addon', 'title' => __( 'Unfold', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-unfold-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-unfold', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-icon-list', 'name' => 'premium-icon-list', 'title' => __( 'Bullet List', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-bullet-list-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/bullet-list-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=MPeXJiZ14sI', 'draw_svg' => true, ), array( 'key' => 'premium-facebook-feed', 'name' => 'premium-facebook-feed', 'title' => __( 'Facebook Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-facebook-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/facebook-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-facebook-feed', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-facebook-feed-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-twitter-feed', 'name' => 'premium-twitter-feed', 'title' => __( 'Twitter Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/twitter-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=wsurRDuR6pg', 'is_pro' => true, 'icon' => 'pa-pro-twitter-feed', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-instagram-feed', 'name' => 'premium-addon-instagram-feed', 'title' => __( 'Instagram Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/instagram-feed/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-instagram-feed', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-pinterest-feed', 'name' => 'premium-pinterest-feed', 'title' => __( 'Pinterest Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'icon' => 'pa-pinterest', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-pinterest-feed-widget/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-behance', 'name' => 'premium-behance-feed', 'title' => __( 'Behance Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/behance-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=AXATK3oIXl0', 'is_pro' => true, 'icon' => 'pa-pro-behance-feed', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-progressbar', 'name' => 'premium-addon-progressbar', 'title' => __( 'Progress Bar', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-progress-bar-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=Y7xqwhgDQJg', 'draw_svg' => true, ), array( 'key' => 'premium-pricing-table', 'name' => 'premium-addon-pricing-table', 'title' => __( 'Pricing Table', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/pricing-table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-charts', 'name' => 'premium-chart', 'title' => __( 'Charts', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/charts-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=lZZvslQ2UYU', 'is_pro' => true, 'icon' => 'pa-pro-charts', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-tables', 'name' => 'premium-tables-addon', 'title' => __( 'Table', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-table', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-counter', 'name' => 'premium-counter', 'title' => __( 'Counter', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/counter-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/counter-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-contactform', 'name' => 'premium-contact-form', 'title' => __( 'Contact Form 7', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/contact-form-7-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-fb-chat', 'name' => 'premium-addon-facebook-chat', 'title' => __( 'Facebook Messenger Chat', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-messenger/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'icon' => 'pa-pro-messenger-chat', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'premium-whatsapp-chat', 'name' => 'premium-whatsapp-chat', 'title' => __( 'WhatsApp Chat', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/whatsapp-chat-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-whatsapp', 'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ), ), array( 'key' => 'woo-products', 'title' => __( 'Woo Products', 'premium-addons-for-elementor' ), 'name' => 'premium-woo-products', 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-woocommerce-products/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-woocommerce-products-listing-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-world-clock', 'name' => 'premium-world-clock', 'title' => __( 'World Clock', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-post-ticker', 'name' => 'premium-post-ticker', 'title' => __( 'News Ticker', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-weather', 'name' => 'premium-weather', 'title' => __( 'Weather', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), ), ), 'cat-2' => array( 'icon' => 'content', 'title' => __( 'Content Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-carousel', 'name' => 'premium-carousel-widget', 'title' => __( 'Carousel', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/carousel-widget-for-elementor-page-builder', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/carousel/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=ZMgprLKvq24', ), array( 'key' => 'premium-blog', 'name' => 'premium-addon-blog', 'title' => __( 'Blog', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/blog-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/blog/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-smart-post-listing', 'name' => 'premium-smart-post-listing', 'title' => __( 'Smart Post Listing', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-post-ticker', 'name' => 'premium-post-ticker', 'title' => __( 'News Ticker', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-notifications', 'name' => 'premium-notifications', 'title' => __( 'Recent Posts Notification', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-tcloud', 'name' => 'premium-tcloud', 'title' => __( 'Tags Cloud', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-nav-menu', 'name' => 'premium-nav-menu', 'title' => __( 'Nav/Mega Menu', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-mega-menu-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-mega-menu-widget-tutorial', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-maps', 'name' => 'premium-addon-maps', 'title' => __( 'Google Maps', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-maps/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=z4taEeCY77Q', ), array( 'key' => 'premium-person', 'name' => 'premium-addon-person', 'title' => __( 'Team Members', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/persons-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/persons-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-tabs', 'name' => 'premium-addon-tabs', 'title' => __( 'Tabs', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tabs-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/tabs-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-content-toggle', 'name' => 'premium-addon-content-toggle', 'title' => __( 'Content Switcher', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-content-switcher/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-fancytext', 'name' => 'premium-addon-fancy-text', 'title' => __( 'Fancy Text', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/fancy-text-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-title', 'name' => 'premium-addon-title', 'title' => __( 'Heading', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/heading-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-dual-header', 'name' => 'premium-addon-dual-header', 'title' => __( 'Dual Heading', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/dual-heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-divider', 'name' => 'premium-divider', 'title' => __( 'Divider', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/divider-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), ), ), 'cat-3' => array( 'icon' => 'images', 'title' => __( 'Image & Video Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-grid', 'name' => 'premium-img-gallery', 'title' => __( 'Media Grid', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/grid-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/grid-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-image-scroll', 'name' => 'premium-image-scroll', 'title' => __( 'Image Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-image-separator', 'name' => 'premium-addon-image-separator', 'title' => __( 'Image Separator', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-separator-widget-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-separator-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-image-comparison', 'name' => 'premium-addon-image-comparison', 'title' => __( 'Image Comparison', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-image-comparison-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-image-hotspots', 'name' => 'premium-addon-image-hotspots', 'title' => __( 'Image Hotspots', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-hotspots-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-img-layers', 'name' => 'premium-img-layers-addon', 'title' => __( 'Image Layers', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-layers/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=D3INxWw_jKI', 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-image-accordion', 'name' => 'premium-image-accordion', 'title' => __( 'Image Accordion', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-accordion-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-accordion-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-videobox', 'name' => 'premium-addon-video-box', 'title' => __( 'Video Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/video-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/video-box/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-site-logo', 'name' => 'premium-site-logo', 'title' => __( 'Site Logo', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-site-logo-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-site-logo-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, 'icon' => 'pa-pro-site-logo', ), ), ), 'cat-4' => array( 'icon' => 'section', 'title' => __( 'Section Addons & Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-hscroll', 'name' => 'premium-hscroll', 'title' => __( 'Horizontal Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/horizontal-scroll/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=4HqT_3s-ZXg', 'is_pro' => true, ), array( 'key' => 'premium-vscroll', 'name' => 'premium-vscroll', 'title' => __( 'Vertical Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/vertical-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/vertical-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=MuLaIn1QXfQ', ), array( 'key' => 'premium-color-transition', 'name' => 'premium-color-transition', 'title' => __( 'Background Transition', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-background-transition-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/background-transition-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-multi-scroll', 'name' => 'premium-multi-scroll', 'title' => __( 'Multi Scroll', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/multi-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=IzYnD6oDYXw', 'is_pro' => true, ), array( 'key' => 'premium-lottie', 'title' => __( 'Lottie Animations', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-lottie-animations-section-addon/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/lottie-background/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=KVrenWNEdkY', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-parallax', 'title' => __( 'Parallax', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/parallax-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/parallax-section-addon-tutorial-2/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=hkMNjxLoZ2w', 'is_pro' => true, 'draw_svg' => true, 'is_global' => true, ), array( 'key' => 'premium-particles', 'title' => __( 'Particles', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/particles/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=bPmWKv4VWrI', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-gradient', 'title' => __( 'Animated Gradient', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/animated-section-gradients-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/animated-gradient-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=IL4USvwR6K4', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-kenburns', 'title' => __( 'Animated Ken Burns', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ken-burns-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/ken-burns-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=DUNFjWphZfs', 'is_pro' => true, 'is_global' => true, ), array( 'key' => 'premium-blob', 'title' => __( 'Blob Generator', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-animated-blob-generator/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'is_global' => true, ), ), ), 'cat-5' => array( 'icon' => 'off-grid', 'title' => __( 'Off-Grid Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-modalbox', 'name' => 'premium-addon-modal-box', 'title' => __( 'Modal Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/modal-box/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=3lLxSyf2nyk', 'draw_svg' => true, ), array( 'key' => 'premium-notbar', 'name' => 'premium-notbar', 'title' => __( 'Alert Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/alert-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-magic-section', 'name' => 'premium-addon-magic-section', 'title' => __( 'Magic Section', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/magic-section-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-prev-img', 'name' => 'premium-addon-preview-image', 'title' => __( 'Preview Window', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/preview-window-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=EmptjFjrc4E', 'is_pro' => true, 'draw_svg' => true, ), ), ), 'cat-6' => array( 'icon' => 'social', 'title' => __( 'Reviews & Testimonials Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-testimonials', 'name' => 'premium-addon-testimonials', 'title' => __( 'Testimonials', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/testimonials-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-facebook-reviews', 'name' => 'premium-facebook-reviews', 'title' => __( 'Facebook Reviews', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-reviews/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=zl-OFo3IFd8', 'is_pro' => true, ), array( 'key' => 'premium-google-reviews', 'name' => 'premium-google-reviews', 'title' => __( 'Google Reviews', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-reviews/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=Z0EeGyD34Zk', 'is_pro' => true, ), array( 'key' => 'premium-yelp-reviews', 'name' => 'premium-yelp-reviews', 'title' => __( 'Yelp Reviews', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-yelp-reviews-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/yelp-reviews/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=5T-MveVFvns', 'is_pro' => true, ), ), ), 'cat-7' => array( 'icon' => 'blurbs', 'title' => __( 'Blurbs & CTA Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-countdown', 'name' => 'premium-countdown-timer', 'title' => __( 'Countdown', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/countdown-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/countdown-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-banner', 'name' => 'premium-addon-banner', 'title' => __( 'Banner', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/banner-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-banner-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-button', 'name' => 'premium-addon-button', 'title' => __( 'Button', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/button/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=w4NuCUkCIV4', 'draw_svg' => true, ), array( 'key' => 'premium-image-button', 'title' => __( 'Image Button', 'premium-addons-for-elementor' ), 'name' => 'premium-addon-image-button', 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-button/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-flipbox', 'name' => 'premium-addon-flip-box', 'title' => __( '3D Hover Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/3d-hover-box-flip-box-widget-for-elementor/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/flip-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-iconbox', 'name' => 'premium-addon-icon-box', 'title' => __( 'Icon Box', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/icon-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-ihover', 'name' => 'premium-ihover', 'title' => __( 'iHover', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-ihover-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), array( 'key' => 'premium-unfold', 'name' => 'premium-unfold-addon', 'title' => __( 'Unfold', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-unfold-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-icon-list', 'name' => 'premium-icon-list', 'title' => __( 'Bullet List', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-bullet-list-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/bullet-list-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=MPeXJiZ14sI', 'draw_svg' => true, ), array( 'key' => 'premium-svg-drawer', 'name' => 'premium-svg-drawer', 'title' => __( 'SVG Draw', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), ), ), 'cat-8' => array( 'icon' => 'feed', 'title' => __( 'Social Feed Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-facebook-feed', 'name' => 'premium-facebook-feed', 'title' => __( 'Facebook Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-facebook-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/facebook-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-twitter-feed', 'name' => 'premium-twitter-feed', 'title' => __( 'Twitter Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/twitter-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=wsurRDuR6pg', 'is_pro' => true, ), array( 'key' => 'premium-instagram-feed', 'name' => 'premium-addon-instagram-feed', 'title' => __( 'Instagram Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/instagram-feed/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-pinterest-feed', 'name' => 'premium-pinterest-feed', 'title' => __( 'Pinterest Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'icon' => 'pa-pinterest', ), array( 'key' => 'premium-behance', 'name' => 'premium-behance-feed', 'title' => __( 'Behance Feed', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/behance-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=AXATK3oIXl0', 'is_pro' => true, ), ), ), 'cat-9' => array( 'icon' => 'data', 'title' => __( 'Tables, Charts & Anything Data Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-progressbar', 'name' => 'premium-addon-progressbar', 'title' => __( 'Progress Bar', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-progress-bar-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=Y7xqwhgDQJg', 'draw_svg' => true, ), array( 'key' => 'premium-pricing-table', 'name' => 'premium-addon-pricing-table', 'title' => __( 'Pricing Table', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/pricing-table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-charts', 'name' => 'premium-chart', 'title' => __( 'Charts', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/charts-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'tutorial' => 'https://www.youtube.com/watch?v=lZZvslQ2UYU', 'is_pro' => true, ), array( 'key' => 'premium-tables', 'name' => 'premium-tables-addon', 'title' => __( 'Table', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-counter', 'name' => 'premium-counter', 'title' => __( 'Counter', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/counter-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/counter-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), array( 'key' => 'premium-world-clock', 'name' => 'premium-world-clock', 'title' => __( 'World Clock', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-weather', 'name' => 'premium-weather', 'title' => __( 'Weather', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ), 'draw_svg' => true, ), ), ), 'cat-10' => array( 'icon' => 'contact', 'title' => __( 'Contact Widgets', 'premium-addons-for-elementor' ), 'elements' => array( array( 'key' => 'premium-contactform', 'name' => 'premium-contact-form', 'title' => __( 'Contact Form 7', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/contact-form-7-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-fb-chat', 'name' => 'premium-addon-facebook-chat', 'title' => __( 'Facebook Messenger Chat', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-messenger/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, ), array( 'key' => 'premium-whatsapp-chat', 'name' => 'premium-whatsapp-chat', 'title' => __( 'WhatsApp Chat', 'premium-addons-for-elementor' ), 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ), 'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/whatsapp-chat-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ), 'is_pro' => true, 'draw_svg' => true, ), ), ), 'cat-11' => array( 'icon' => 'extensions', 'elements' => array( array( 'key' => 'premium-templates', 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/premium-templates-for-elementor/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-equal-height', 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/premium-addons-global-features-for-elementor/#equal-height-feature', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'pa-display-conditions', 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-display-conditions/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-global-cursor', 'is_pro' => true, 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-custom-mouse-cursor-global-feature/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-global-badge', 'is_pro' => true, 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-badge-global-addon/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-floating-effects', 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-floating-effects-animation/', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-cross-domain', 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/premium-addons-global-features-for-elementor/#common-features', 'settings-page', 'wp-dash', 'dashboard' ), ), array( 'key' => 'premium-duplicator', ), array( 'key' => 'premium-assets-generator', ), array( 'key' => 'premium-mscroll', 'is_pro' => true, 'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-magic-scroll-global-addon/', 'settings-page', 'wp-dash', 'dashboard' ), ), ), ), ); return $elements; (function($){$.fn.datepicker.dates["bs"]={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}})(jQuery); /** * Functions which enhance the theme by hooking into WordPress * * @package WordPress * @subpackage Twenty_Twenty_One * @since Twenty Twenty-One 1.0 */ /** * Adds custom classes to the array of body classes. * * @since Twenty Twenty-One 1.0 * * @param array $classes Classes for the body element. * @return array */ function twenty_twenty_one_body_classes( $classes ) { // Helps detect if JS is enabled or not. $classes[] = 'no-js'; // Adds `singular` to singular pages, and `hfeed` to all other pages. $classes[] = is_singular() ? 'singular' : 'hfeed'; // Add a body class if main navigation is active. if ( has_nav_menu( 'primary' ) ) { $classes[] = 'has-main-navigation'; } // Add a body class if there are no footer widgets. if ( ! is_active_sidebar( 'sidebar-1' ) ) { $classes[] = 'no-widgets'; } return $classes; } add_filter( 'body_class', 'twenty_twenty_one_body_classes' ); /** * Adds custom class to the array of posts classes. * * @since Twenty Twenty-One 1.0 * * @param array $classes An array of CSS classes. * @return array */ function twenty_twenty_one_post_classes( $classes ) { $classes[] = 'entry'; return $classes; } add_filter( 'post_class', 'twenty_twenty_one_post_classes', 10, 3 ); /** * Add a pingback url auto-discovery header for single posts, pages, or attachments. * * @since Twenty Twenty-One 1.0 * * @return void */ function twenty_twenty_one_pingback_header() { if ( is_singular() && pings_open() ) { echo ''; } } add_action( 'wp_head', 'twenty_twenty_one_pingback_header' ); /** * Remove the `no-js` class from body if JS is supported. * * @since Twenty Twenty-One 1.0 * * @return void */ /** * Changes comment form default fields. * * @since Twenty Twenty-One 1.0 * * @param array $defaults The form defaults. * @return array */ function twenty_twenty_one_comment_form_defaults( $defaults ) { // Adjust height of comment form. $defaults['comment_field'] = preg_replace( '/rows="\d+"/', 'rows="5"', $defaults['comment_field'] ); return $defaults; } add_filter( 'comment_form_defaults', 'twenty_twenty_one_comment_form_defaults' ); /** * Determines if post thumbnail can be displayed. * * @since Twenty Twenty-One 1.0 * * @return bool */ function twenty_twenty_one_can_show_post_thumbnail() { /** * Filters whether post thumbnail can be displayed. * * @since Twenty Twenty-One 1.0 * * @param bool $show_post_thumbnail Whether to show post thumbnail. */ return apply_filters( 'twenty_twenty_one_can_show_post_thumbnail', ! post_password_required() && ! is_attachment() && has_post_thumbnail() ); } /** * Returns the size for avatars used in the theme. * * @since Twenty Twenty-One 1.0 * * @return int */ function twenty_twenty_one_get_avatar_size() { return 60; } /** * Creates continue reading text. * * @since Twenty Twenty-One 1.0 */ function twenty_twenty_one_continue_reading_text() { $continue_reading = sprintf( /* translators: %s: Post title. Only visible to screen readers. */ esc_html__( 'Continue reading %s', 'twentytwentyone' ), the_title( '', '', false ) ); return $continue_reading; } /** * Creates the continue reading link for excerpt. * * @since Twenty Twenty-One 1.0 */ function twenty_twenty_one_continue_reading_link_excerpt() { if ( ! is_admin() ) { return '… ' . twenty_twenty_one_continue_reading_text() . ''; } } // Filter the excerpt more link. add_filter( 'excerpt_more', 'twenty_twenty_one_continue_reading_link_excerpt' ); /** * Creates the continue reading link. * * @since Twenty Twenty-One 1.0 */ function twenty_twenty_one_continue_reading_link() { if ( ! is_admin() ) { return ''; } } // Filter the content more link. add_filter( 'the_content_more_link', 'twenty_twenty_one_continue_reading_link' ); if ( ! function_exists( 'twenty_twenty_one_post_title' ) ) { /** * Adds a title to posts and pages that are missing titles. * * @since Twenty Twenty-One 1.0 * * @param string $title The title. * @return string */ function twenty_twenty_one_post_title( $title ) { return '' === $title ? esc_html_x( 'Untitled', 'Added to posts and pages that are missing titles', 'twentytwentyone' ) : $title; } } add_filter( 'the_title', 'twenty_twenty_one_post_title' ); /** * Gets the SVG code for a given icon. * * @since Twenty Twenty-One 1.0 * * @param string $group The icon group. * @param string $icon The icon. * @param int $size The icon size in pixels. * @return string */ function twenty_twenty_one_get_icon_svg( $group, $icon, $size = 24 ) { return Twenty_Twenty_One_SVG_Icons::get_svg( $group, $icon, $size ); } /** * Changes the default navigation arrows to svg icons * * @since Twenty Twenty-One 1.0 * * @param string $calendar_output The generated HTML of the calendar. * @return string */ function twenty_twenty_one_change_calendar_nav_arrows( $calendar_output ) { $calendar_output = str_replace( '« ', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ), $calendar_output ); $calendar_output = str_replace( ' »', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ), $calendar_output ); return $calendar_output; } add_filter( 'get_calendar', 'twenty_twenty_one_change_calendar_nav_arrows' ); /** * Get custom CSS. * * Return CSS for non-latin language, if available, or null * * @since Twenty Twenty-One 1.0 * * @param string $type Whether to return CSS for the "front-end", "block-editor", or "classic-editor". * @return string */ function twenty_twenty_one_get_non_latin_css( $type = 'front-end' ) { // Fetch site locale. $locale = get_bloginfo( 'language' ); /** * Filters the fallback fonts for non-latin languages. * * @since Twenty Twenty-One 1.0 * * @param array $font_family An array of locales and font families. */ $font_family = apply_filters( 'twenty_twenty_one_get_localized_font_family_types', array( // Arabic. 'ar' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'ary' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'azb' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'ckb' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'fa-IR' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'haz' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'ps' => array( 'Tahoma', 'Arial', 'sans-serif' ), // Chinese Simplified (China) - Noto Sans SC. 'zh-CN' => array( '\'PingFang SC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ), // Chinese Traditional (Taiwan) - Noto Sans TC. 'zh-TW' => array( '\'PingFang TC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ), // Chinese (Hong Kong) - Noto Sans HK. 'zh-HK' => array( '\'PingFang HK\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ), // Cyrillic. 'bel' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'bg-BG' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'kk' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'mk-MK' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'mn' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'ru-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'sah' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'sr-RS' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'tt-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'uk' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), // Devanagari. 'bn-BD' => array( 'Arial', 'sans-serif' ), 'hi-IN' => array( 'Arial', 'sans-serif' ), 'mr' => array( 'Arial', 'sans-serif' ), 'ne-NP' => array( 'Arial', 'sans-serif' ), // Greek. 'el' => array( '\'Helvetica Neue\', Helvetica, Arial, sans-serif' ), // Gujarati. 'gu' => array( 'Arial', 'sans-serif' ), // Hebrew. 'he-IL' => array( '\'Arial Hebrew\'', 'Arial', 'sans-serif' ), // Japanese. 'ja' => array( 'sans-serif' ), // Korean. 'ko-KR' => array( '\'Apple SD Gothic Neo\'', '\'Malgun Gothic\'', '\'Nanum Gothic\'', 'Dotum', 'sans-serif' ), // Thai. 'th' => array( '\'Sukhumvit Set\'', '\'Helvetica Neue\'', 'Helvetica', 'Arial', 'sans-serif' ), // Vietnamese. 'vi' => array( '\'Libre Franklin\'', 'sans-serif' ), ) ); // Return if the selected language has no fallback fonts. if ( empty( $font_family[ $locale ] ) ) { return ''; } /** * Filters the elements to apply fallback fonts to. * * @since Twenty Twenty-One 1.0 * * @param array $elements An array of elements for "front-end", "block-editor", or "classic-editor". */ $elements = apply_filters( 'twenty_twenty_one_get_localized_font_family_elements', array( 'front-end' => array( 'body', 'input', 'textarea', 'button', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file__button', '.has-drop-cap:not(:focus)::first-letter', '.entry-content .wp-block-archives', '.entry-content .wp-block-categories', '.entry-content .wp-block-cover-image', '.entry-content .wp-block-latest-comments', '.entry-content .wp-block-latest-posts', '.entry-content .wp-block-pullquote', '.entry-content .wp-block-quote.is-large', '.entry-content .wp-block-quote.is-style-large', '.entry-content .wp-block-archives *', '.entry-content .wp-block-categories *', '.entry-content .wp-block-latest-posts *', '.entry-content .wp-block-latest-comments *', '.entry-content p', '.entry-content ol', '.entry-content ul', '.entry-content dl', '.entry-content dt', '.entry-content cite', '.entry-content figcaption', '.entry-content .wp-caption-text', '.comment-content p', '.comment-content ol', '.comment-content ul', '.comment-content dl', '.comment-content dt', '.comment-content cite', '.comment-content figcaption', '.comment-content .wp-caption-text', '.widget_text p', '.widget_text ol', '.widget_text ul', '.widget_text dl', '.widget_text dt', '.widget-content .rssSummary', '.widget-content cite', '.widget-content figcaption', '.widget-content .wp-caption-text' ), 'block-editor' => array( '.editor-styles-wrapper > *', '.editor-styles-wrapper p', '.editor-styles-wrapper ol', '.editor-styles-wrapper ul', '.editor-styles-wrapper dl', '.editor-styles-wrapper dt', '.editor-post-title__block .editor-post-title__input', '.editor-styles-wrapper .wp-block h1', '.editor-styles-wrapper .wp-block h2', '.editor-styles-wrapper .wp-block h3', '.editor-styles-wrapper .wp-block h4', '.editor-styles-wrapper .wp-block h5', '.editor-styles-wrapper .wp-block h6', '.editor-styles-wrapper .has-drop-cap:not(:focus)::first-letter', '.editor-styles-wrapper cite', '.editor-styles-wrapper figcaption', '.editor-styles-wrapper .wp-caption-text' ), 'classic-editor' => array( 'body#tinymce.wp-editor', 'body#tinymce.wp-editor p', 'body#tinymce.wp-editor ol', 'body#tinymce.wp-editor ul', 'body#tinymce.wp-editor dl', 'body#tinymce.wp-editor dt', 'body#tinymce.wp-editor figcaption', 'body#tinymce.wp-editor .wp-caption-text', 'body#tinymce.wp-editor .wp-caption-dd', 'body#tinymce.wp-editor cite', 'body#tinymce.wp-editor table' ), ) ); // Return if the specified type doesn't exist. if ( empty( $elements[ $type ] ) ) { return ''; } // Include file if function doesn't exist. if ( ! function_exists( 'twenty_twenty_one_generate_css' ) ) { require_once get_theme_file_path( 'inc/custom-css.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } // Return the specified styles. return twenty_twenty_one_generate_css( // @phpstan-ignore-line. implode( ',', $elements[ $type ] ), 'font-family', implode( ',', $font_family[ $locale ] ), null, null, false ); } /** * Print the first instance of a block in the content, and then break away. * * @since Twenty Twenty-One 1.0 * * @param string $block_name The full block type name, or a partial match. * Example: `core/image`, `core-embed/*`. * @param string|null $content The content to search in. Use null for get_the_content(). * @param int $instances How many instances of the block will be printed (max). Default 1. * @return bool Returns true if a block was located & printed, otherwise false. */ function twenty_twenty_one_print_first_instance_of_block( $block_name, $content = null, $instances = 1 ) { $instances_count = 0; $blocks_content = ''; if ( ! $content ) { $content = get_the_content(); } // Parse blocks in the content. $blocks = parse_blocks( $content ); // Loop blocks. foreach ( $blocks as $block ) { // Sanity check. if ( ! isset( $block['blockName'] ) ) { continue; } // Check if this the block matches the $block_name. $is_matching_block = false; // If the block ends with *, try to match the first portion. if ( '*' === $block_name[-1] ) { $is_matching_block = 0 === strpos( $block['blockName'], rtrim( $block_name, '*' ) ); } else { $is_matching_block = $block_name === $block['blockName']; } if ( $is_matching_block ) { // Increment count. $instances_count++; // Add the block HTML. $blocks_content .= render_block( $block ); // Break the loop if the $instances count was reached. if ( $instances_count >= $instances ) { break; } } } if ( $blocks_content ) { /** This filter is documented in wp-includes/post-template.php */ echo apply_filters( 'the_content', $blocks_content ); // phpcs:ignore WordPress.Security.EscapeOutput return true; } return false; } /** * Retrieve protected post password form content. * * @since Twenty Twenty-One 1.0 * @since Twenty Twenty-One 1.4 Corrected parameter name for `$output`, * added the `$post` parameter. * * @param string $output The password form HTML output. * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post. * @return string HTML content for password form for password protected post. */ function twenty_twenty_one_password_form( $output, $post = 0 ) { $post = get_post( $post ); $label = 'pwbox-' . ( empty( $post->ID ) ? wp_rand() : $post->ID ); $output = '

' . esc_html__( 'This content is password protected. Please enter a password to view.', 'twentytwentyone' ) . '

'; return $output; } add_filter( 'the_password_form', 'twenty_twenty_one_password_form', 10, 2 ); /** * Filters the list of attachment image attributes. * * @since Twenty Twenty-One 1.0 * * @param string[] $attr Array of attribute values for the image markup, keyed by attribute name. * See wp_get_attachment_image(). * @param WP_Post $attachment Image attachment post. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). * @return string[] The filtered attributes for the image markup. */ function twenty_twenty_one_get_attachment_image_attributes( $attr, $attachment, $size ) { if ( is_admin() ) { return $attr; } if ( isset( $attr['class'] ) && false !== strpos( $attr['class'], 'custom-logo' ) ) { return $attr; } $width = false; $height = false; if ( is_array( $size ) ) { $width = (int) $size[0]; $height = (int) $size[1]; } elseif ( $attachment && is_object( $attachment ) && $attachment->ID ) { $meta = wp_get_attachment_metadata( $attachment->ID ); if ( isset( $meta['width'] ) && isset( $meta['height'] ) ) { $width = (int) $meta['width']; $height = (int) $meta['height']; } } if ( $width && $height ) { // Add style. $attr['style'] = isset( $attr['style'] ) ? $attr['style'] : ''; $attr['style'] = 'width:100%;height:' . round( 100 * $height / $width, 2 ) . '%;max-width:' . $width . 'px;' . $attr['style']; } return $attr; } add_filter( 'wp_get_attachment_image_attributes', 'twenty_twenty_one_get_attachment_image_attributes', 10, 3 );/** * Block Styles * * @link https://developer.wordpress.org/reference/functions/register_block_style/ * * @package WordPress * @subpackage Twenty_Twenty_One * @since Twenty Twenty-One 1.0 */ if ( function_exists( 'register_block_style' ) ) { /** * Register block styles. * * @since Twenty Twenty-One 1.0 * * @return void */ function twenty_twenty_one_register_block_styles() { // Columns: Overlap. register_block_style( 'core/columns', array( 'name' => 'twentytwentyone-columns-overlap', 'label' => esc_html__( 'Overlap', 'twentytwentyone' ), ) ); // Cover: Borders. register_block_style( 'core/cover', array( 'name' => 'twentytwentyone-border', 'label' => esc_html__( 'Borders', 'twentytwentyone' ), ) ); // Group: Borders. register_block_style( 'core/group', array( 'name' => 'twentytwentyone-border', 'label' => esc_html__( 'Borders', 'twentytwentyone' ), ) ); // Image: Borders. register_block_style( 'core/image', array( 'name' => 'twentytwentyone-border', 'label' => esc_html__( 'Borders', 'twentytwentyone' ), ) ); // Image: Frame. register_block_style( 'core/image', array( 'name' => 'twentytwentyone-image-frame', 'label' => esc_html__( 'Frame', 'twentytwentyone' ), ) ); // Latest Posts: Dividers. register_block_style( 'core/latest-posts', array( 'name' => 'twentytwentyone-latest-posts-dividers', 'label' => esc_html__( 'Dividers', 'twentytwentyone' ), ) ); // Latest Posts: Borders. register_block_style( 'core/latest-posts', array( 'name' => 'twentytwentyone-latest-posts-borders', 'label' => esc_html__( 'Borders', 'twentytwentyone' ), ) ); // Media & Text: Borders. register_block_style( 'core/media-text', array( 'name' => 'twentytwentyone-border', 'label' => esc_html__( 'Borders', 'twentytwentyone' ), ) ); // Separator: Thick. register_block_style( 'core/separator', array( 'name' => 'twentytwentyone-separator-thick', 'label' => esc_html__( 'Thick', 'twentytwentyone' ), ) ); // Social icons: Dark gray color. register_block_style( 'core/social-links', array( 'name' => 'twentytwentyone-social-icons-color', 'label' => esc_html__( 'Dark gray', 'twentytwentyone' ), ) ); } add_action( 'init', 'twenty_twenty_one_register_block_styles' ); } /** * PA Premium Templates */ namespace PremiumAddons\Includes\Templates; if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Premium_Templates' ) ) { /** * Class Premium_Templates */ class Premium_Templates { /** * Instance of the class * * @access private * @since 3.6.0 */ private static $instance = null; /** * Holds API data * * @access public * @since 3.6.0 */ public $api; /** * Holds templates configuration data * * @access public * @since 3.6.0 */ public $config; /** * Holds templates assets * * @access public * @since 3.6.0 */ public $assets; /** * Templates Manager * * @access public * @since 3.6.0 */ public $temp_manager; /** * Holds templates types * * @access public * @since 3.6.0 */ public $types; /** * Construct * * Class Constructor * * @since 3.6.0 * @access public */ public function __construct() { add_action( 'init', array( $this, 'init' ) ); } /** * Init Premium Templates * * @since 3.6.0 * @access public * * @return void */ public function init() { $this->load_files(); $this->set_config(); $this->set_assets(); $this->set_api(); $this->set_types(); $this->set_templates_manager(); } /** * Load required files for premium templates * * @since 3.6.0 * @access private * * @return void */ private function load_files() { require PREMIUM_ADDONS_PATH . 'includes/templates/classes/config.php'; require PREMIUM_ADDONS_PATH . 'includes/templates/classes/assets.php'; require PREMIUM_ADDONS_PATH . 'includes/templates/classes/manager.php'; require PREMIUM_ADDONS_PATH . 'includes/templates/types/manager.php'; require PREMIUM_ADDONS_PATH . 'includes/templates/classes/api.php'; } /** * Init `Premium_Templates_Core_Config` * * @since 3.6.0 * @access private * * @return void */ private function set_config() { $this->config = new Classes\Premium_Templates_Core_Config(); } /** * Init `Premium_Templates_Assets` * * @since 3.6.0 * @access private * * @return void */ private function set_assets() { $this->assets = new Classes\Premium_Templates_Assets(); } /** * Init `Premium_Templates_API` * * @since 3.6.0 * @access private * * @return void */ private function set_api() { $this->api = new Classes\Premium_Templates_API(); } /** * Init `Premium_Templates_Types` * * @since 3.6.0 * @access private * * @return void */ private function set_types() { $this->types = new Types\Premium_Templates_Types(); } /** * Init `Premium_Templates_Manager` * * @since 3.6.0 * @access private * * @return void */ private function set_templates_manager() { $this->temp_manager = new Classes\Premium_Templates_Manager(); } /** * Get instance * * Creates and returns an instance of the class * * @since 0.0.1 * @access public * * @return object */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } } } if ( ! function_exists( 'premium_templates' ) ) { /** * Triggers `get_instance` method * * @since 3.6.0 * @access public * return object */ function premium_templates() { return Premium_Templates::get_instance(); } } premium_templates();